load(
    "//bazel:envoy_build_system.bzl",
    "envoy_package",
)
load("@rules_python//python:defs.bzl", "py_binary")
load("@configs_pip3//:requirements.bzl", "requirement")

licenses(["notice"])  # Apache 2

envoy_package()

py_binary(
    name = "configgen",
    srcs = ["configgen.py"],
    data = glob([
        "*.yaml",
    ]),
    deps = [
        requirement("Jinja2"),
        requirement("MarkupSafe"),
    ],
)

filegroup(
    name = "configs",
    srcs = [
        "google-vrp/envoy-edge.yaml",
        "google-vrp/envoy-origin.yaml",
        "original-dst-cluster/proxy_config.yaml",
    ] + select({
        "//bazel:apple": [],
        "//bazel:windows_x86_64": [],
        "//conditions:default": ["freebind/freebind.yaml"],
    }),
)

genrule(
    name = "example_configs",
    srcs = [
        ":configs",
        "//examples:configs",
        "//test/config/integration/certs",
    ],
    outs = ["example_configs.tar"],
    cmd = "$(location configgen.sh) $(location configgen) $(@D) $(locations :configs) " +
          "$(locations //examples:configs) $(locations //test/config/integration/certs)",
    tools = [
        "configgen.sh",
        ":configgen",
    ],
)
